package com.sky.config;

import com.sky.properties.AliOssProperties;
import com.sky.utils.AliOssUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author bairimengchang
 * @version 1.0
 * @project sky-take-out
 * @description 配置类，用于创建AliOssUtil对象，给配置项赋值
 * @date 2024/08/07 11:52:19
 */
@Configuration
@Slf4j
public class OssConfiguration {

    //这个bean中有配置好的配置文件属性值
    @Autowired
    private AliOssProperties aliOssProperties;

    @Bean
    @ConditionalOnMissingBean(AliOssUtil.class)     //唯一bean
    public AliOssUtil aliOssUtil(){
        log.info("创建阿里云文件上传工具类，具体配置{}", aliOssProperties);
        return new AliOssUtil(aliOssProperties.getEndpoint(),
                aliOssProperties.getAccessKeyId(),
                aliOssProperties.getAccessKeySecret(),
                aliOssProperties.getBucketName());
    }

}
